/*
*  数组常见操作
* */
let new_arr = []

// 添加数据   追加  添加数据到数组的末尾
new_arr.push(1)
new_arr.push(3)
new_arr.push(2)
console.log(new_arr)

console.log('---------------pop----------------------')
// 删除数组中的数据   删除最后一个元素
del_item = new_arr.pop()
console.log(del_item)
console.log(new_arr)
console.log('---------------shift----------------------')
// 删除数组中的第一个元素
del_item = new_arr.shift()
console.log(del_item)
console.log(new_arr)

// 添加元素到数组  concat
// new_arr = new_arr.concat([1, 2,4, 5, 7])
new_arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(new_arr)

// 删除任意位置的元素   以数组方式返回删除的元素 []
// del_item = new_arr.splice(2,3)

// 解构数组
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]

arr3 = [...arr1, ...arr2]
// result = arr3.concat(arr1).concat(arr2)
console.log('>>>>>', arr3)

del_item = new_arr.splice(2, 3, ...arr1)
console.log(del_item)
console.log(new_arr)

//  添加元素到数组的起始位置
new_arr.unshift(-1)
console.log(new_arr)

//  排序   算法  冒泡排序
/*
*   10, 1, 5, 8
*  第 0 轮
*     1次     1,10,5,8
*     2次     1,5,10,8
*     3次     1,5,8,10
*  第一轮
*     1次     1,5,8,10
*     2次     1,5,8,10
*  第二轮
*     1次     1,5,8,10
* */
new_arr = [10, 1, 5, 8, 4, 3, 50]
/*
* for (let i = 0; i < new_arr.length - 1; i++) {
    for (let j = 0; j < new_arr.length - 1 - i; j++) {
        if (new_arr[j] > new_arr[j + 1]) {
            let temp = new_arr[j]
            new_arr[j] = new_arr[j + 1]
            new_arr[j + 1] = temp
        }
    }
}
console.log(new_arr)
*
* */
// 默认 unicode码   数值
// 定义一个比较函数 显示声明   箭头函数    (a,b)=> a-b
function compare(a, b) {
    return b - a
}

// new_arr.sort(compare)
new_arr.sort((a, b) => b - a)
console.log(new_arr)
console.log('-----------------indexOf------------------')
// 判定元素的索引     有则返回元素所在索引 没有则返回-1
let index = new_arr.indexOf(10)
console.log(index)

console.log('-----------------------------------')
new_arr.reverse()
console.log(new_arr)
console.log('-----------------join------------------')
// 批量删除   [1,2,3,4,5]   '1,2,3,4,5'
let str_ids = new_arr.join(',')
console.log(str_ids)






